package com.pair.micro.fee.modules.charge.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("charge_project")
public class ChargeProjectEntity {
    /**
     * id
     */
    @TableId
    private String id;

    /**
     * 收费设置id
     */
    private String configId;

    /**
     * 小区id
     */
    private Integer gardenId;

    /**
     * 楼栋id
     */
    private Integer houseId;

    /**
     * 单元id
     */
    private Integer unitId;

    /**
     * 房屋id
     */
    private Integer roomId;

    /**
     * 建账时间
     */
    private Date beginTime;

    /**
     * 开始时间
     */
    private Date startTime;

    /**
     * 截止时间
     */
    private Date endTime;


    /**
     * 应收金额
     */
    private BigDecimal revAmount;

    /**
     * 数据状态，0, 在用 1失效
     */
    private Integer status;

    /**
     * 收费状态 20242001:收费中状态 、20242002 当期收费结束、20242003 收费结束
     */
    private String chargeState;

    /**
     * 项目类型
     */
    private String projectType;

    /**
     * 车位id
     */
    private Integer carPlaceId;

    /**
     * 操作人
     */
    private Integer operatorId;

    /**
     * 创建时间
     */
    private Date createTime;




    /**
     * 面积
     */
    @TableField(exist = false)
    private Float area;

    /**
     * 收费公式
     */
    @TableField(exist = false)
    private String chargeFormula;

    /**
     * 单价
     */
    @TableField(exist = false)
    private BigDecimal unitPrice;

    /**
     * 收费项名称
     */
    @TableField(exist = false)
    private String configName;

    /**
     * 附加费用
     */
    @TableField(exist = false)
    private BigDecimal additionalFee;

    /**
     * 收费标识
     */
    @TableField(exist = false)
    private String chargeMark;

    /**
     * 收费设置结束时间
     */
    @TableField(exist = false)
    private Date configEndTime;

    /**
     * 是否为临时
     */
    @TableField(exist = false)
    private Integer casual;
}
